﻿module Sustainalytics.Screening {

    export class SelectedCriteriaDto {
        id: string;
        name: string;
        criteriaLevel3Id: string;
        type: number;
        loading: boolean;
        isUpdating: boolean;
        companyCount: number;

        filterGroupId: string;

        //used for Criteria Type 1,3,6 to if we have only one Chart and we want to 
        isScreenable: boolean;

        typeOneMinValue: number;
        typeOneMaxValue: number;
        typeOneIsNotScreenableCriteriaItem: any;

        typeTwoIsScreenableCriteriaItems: Array<any>;
        typeTwoIsNotScreenableCriteriaItems: Array<any>;

        typeThreeCollectionName: string;
        typeThreeSelectedItems: Array<string>;
        typeThreeIsScreenableCriteriaItems: Array<any>;
        typeThreeIsNotScreenableCriteriaItems: Array<any>;

        typeFourCategories: CriteriaTypeFourCategories[];
        typeFourSymbol: string;
        typeFourScreenOnAnyInvolvement: boolean;
        typeFourIsNotScreenableCriteriaItems: Array<any>;

        typeFiveIsScreenableCriteriaItems: Array<any>;
        typeFiveIsNotScreenableCriteriaItems: Array<any>;

        typeSixMinValue: number;
        typeSixMaxValue: number;
        typeSixIsNotScreenableCriteriaItems: Array<any>;

        collectionItemsTypeSeven: Array<any>;
        typeSevenSelectedItems: Array<string>;
        typeSevenIsScreenableCriteriaItems: Array<any>
        typeSevenIsNotScreenableCriteriaItems: Array<any>

        typeEightIsScreenableCriteriaItems: Array<any>;
        typeEightIsNotScreenableCriteriaItems: Array<any>;

        typeNineIsScreenableCriteriaItems: Array<any>;
        typeNineIsNotScreenableCriteriaItems: Array<any>;

        //typeTenIsScreenableCriteriaItems if needed for future implementation - now we only have datapoints to list
        typeTenIsScreenableCriteriaItems: Array<any>;
        typeTenIsNotScreenableCriteriaItems: Array<any>;

        type16MinValue: number;
        type16MaxValue: number;
        type16IsNotScreenableCriteriaItems: Array<any>;

        type17IsScreenableCriteriaItems: Array<any>;
        type17IsNotScreenableCriteriaItems: Array<any>;

        type25IsScreenableCriteriaItems: Array<any>;
        type25IsNotScreenableCriteriaItems: Array<any>;
    }
}